home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
comms_w
/
wlprs40.zip
/
WLPRSPL.ASC
< prev
next >
Wrap
Text File
|
1994-03-16
|
29KB
|
695 lines
Windows LPR Spooler Version 4.0
A Network Printer Spooler
for Microsoft Windows 3.1
March 16, 1994
Thomas Heil
This document was created with Microsoft Word for Windows
2.0
DISCLAIMER:
THE SOFTWARE IS PROVIDED AS-IS. THE AUTHOR DISCLAIMS ALL
WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. NO LIABILITY IS ASSUMED FOR
DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE
USE OF THIS SOFTWARE.
(C) Copyright 1992-94 by Thomas Heil.
All trademarks appearing in this document are the property
of their respective owners.
Table of Contents
Table of Contents 3
Introduction 5
New Features 5
Requirements 5
Package Contents 6
Installation 6
If you upgrade ... 7
How Does the Spooler Work? 8
First Start 8
Adding/Changing Network Printer Definitions 9
Adjusting WLPRSPL Operating Parameters 10
WLPRSPL Running ... 11
WLPRSPL Menu Options 12
Usage Notes 14
Troubleshooting 14
Licensing and Registration 15
Registration Fee 15
One Final Word ... 16
Registration Form 17
Introduction
Windows LPR Spooler, in the following text abbreviated as
WLPRSPL, is a program which allows transparent printing
from Microsoft Windows 3.1 applications to network
printers. WLPRSPL allows you to define a large number of
remote printers which may be addressed through different
Protocol DLLs.
Included with the program is WLPR2.DLL which implements the
Line Printer Daemon (LPD, RFC1179) protocol that is widely
used on UNIX hosts. DLL's that support other network
printing protocols will be developped over time. (For
details on which Protocol DLLs currently exist, please
contact the author. Note: Protocol DLLs other than those
included in the shareware version will be available to
registered users only.)
New Features
Version 4.0 offers the following new features:
Support of the new WLPR2.DLL API which allows WLPRSPL
to use different Protocol DLLs for different remote
printer queues (like the included WLPR2.DLL that
implements the LPR/LPD protocol).
The spooler can run in a so-called "unattended mode".
In this mode the spooler automatically retries failed
print file transfers after a user-definable amount of
time. The user is not notified of such failures.
Requirements
The following components are required to run WLPRSPL:
Microsoft Windows 3.1
WLPR2.DLL or compatible Protocol DLL(s).
If the spooler is used together with the included
WLPR2.DLL, the following additional components are
required:
TCP/IP networking software for the PC that offers a
WinSock 1.1 compliant WINSOCK.DLL.
WSOCKAID.DLL Version 1.0 or later. Users that run a
TCP/IP stack other than FTP Software's should note the
comment in the "Installation" section below.
Package Contents
This package contains the spooler (WLPRSPL.EXE) and the
supporting libraries WLPR2.DLL Version 2.0, WSOCKAID.DLL
Version 2.0, and CTL3D.DLL Version 2.05, as well as this
documentation in form of a Word for Windows 2.0 .DOC file
and a plain ASCII version.
The following files are included in the standard
distribution:
WLPRSPL.EXE The main program.
WLPRSPL.DOC/.ASC Program documentation.
WLPR2.DLL The Protocol DLL which supports the
LPR/LPD protocol.
WLPR2.DOC/.ASC The documentation for WLPR2.DLL.
WSOCKAID.DLL A supporting DLL that contains
functions missing in WINSOCK.DLL.
WSOCKAID.DOC/.ASC The documentation for WSOCKAID.DLL.
WSAIDCNF.CPL A Control Panel extension that allows
the setting of the username for
WSOCKAID.DLL.
CTL3D.DLL A DLL that allows dialog boxes to have
a 3D look.
CTRLD10B.ZIP An archive that contains a small
utility with which one can
enable/disable the generation of a
leading Ctrld-D for any installed
PostScript printer driver.
Installation
Choose a directory where you want to install WLPRSPL and
create it. Move the archive WLPRSnnn.ZIP to this directory
and unzip it with PKUNZIP 2.04g or a compatible
uncompression program. Move all W*.DLL files to the Windows
directory or to another directory that is in your PATH, or
include the directory where you installed WLPRSPL into your
PATH. Copy CTL3D.DLL to your WINDOWS/SYSTEM directory after
checking that there is not already a newer version. Then
either create a new Program Manager group or open an
existing one, and install WLPRSPL.EXE there (please refer
to your Windows documentation on how to do this). After
that you can start the program for the first time. For your
convenience you should install the spooler also in your
AUTOSTART group so that it gets launched automatically when
you start Windows.
A note about WSOCKAID.DLL: This is a network software
vendor specific DLL containing a few functions that
WINSOCK.DLL does not offer. Currently you will not get this
DLL from your vendor. The version in this pack was written
by me explicitly for FTP Software's PC/TCP stack. The
function that WLPRSPL (or better WLPR2.DLL) uses is
retrieving the user's login name. If you have FTP
Software's PC/TCP 2.1 or higher, this DLL will take the
needed information from the PCTCP.INI file (or whatever
your PCTCP environment variable is set to). If you use a
different stack, you may copy WSAIDCNF.CPL to your
WINDOWS/SYSTEM directory. This small applet then allows you
to set the username in the Control Panel.
Note that the username is the only thing which WLPR2.DLL
retrieves from WSOCKAID.DLL. All other information that
WSOCKAID.DLL can give (as described in WSOCKAID.ASC or
.DOC) is ignored. E.g. the local PC hostname is retrieved
from the networking software directly (namely WINSOCK.DLL),
which means that you have to have a PC hostname configured
in your networking software. Protocol DLLs other than
WLPR2.DLL may behave differently. Refer to the
corresponding DLL documentation.
If you use a TCP/IP stack that offers a real Windows
network driver, then WSOCKAID.DLL tries to inquire the
username through this driver instead of returning the INI
file entry. You can verify if your TCP/IP software uses
such a driver by looking at SYSTEM.INI section [boot]. If a
non-empty entry "network.drv=<drivername>" exists, then
your networking software has such a driver.
For further details concerning the included DLLs please
take a look at the corresponding .ASC or .DOC files.
If you upgrade ...
If you upgrade from Version 3.x to 4.0, WLPRSPL will
recognize this the first time you start the new version.
You will be prompted if the settings of the old version
shall be retained. If you accept this, you will further be
prompted if the old Queue Definition File shall be
converted to the new format (which now is in standard
Windows .INI format).
The old Queue Definition File must be writable when you
choose to update it automatically. So if you have a shared
QDF on a network drive you should start the new version on
a PC with write access to this file first. It then gets
converted, and on all other PCs you can skip the conversion
when WLPRSPL 4.0 is started for the first time there.
You can later load 3.x style QDFs with the
Setup/Queues/Load queue definitions... menu option. The
program automatically determines that the file is not a 4.0
QDF and asks if the file shall be read as 3.x QDF. After
the file is read you can save it as 4.0 file.
Note that the spooler settings are no longer kept in
WIN.INI but in WLPRSPL.INI in the Windows directory.
How Does the Spooler Work?
Every printer used within Windows is connected to a so-
called "port." Examples are LPT1, LPT2, COM1, COM2 etc. But
those ports can also be normal disk files. When you add the
line
C:\SPOOL\DRUCKER.DAT=
to the [ports] section of WIN.INI you may later connect a
printer driver to this "port." Every print job sent to this
port is written to the specified file. This is what WLPRSPL
relies on. WLPRSPL uses a dedicated directory on the PCs
hard disk for spooling (i.e. C:\SPOOL). This directory has
to be specified the first time you start the program. For
each network printer you want to print to you have to
define a unique file name (i.e. HP.PCL for a HP LaserJet in
PCL mode). This file name together with the chosen spool
directory forms the port (in this case C:\SPOOL\HP.PCL) to
which an appropriate Windows printer driver can be
connected. The filename without path represents the local
queue.
A remote printer is defined by the local queue name as
described above, the remote printer name, the host name of
the computer that acts as printer server, and the name of
the Protocol DLL to be used for connecting to the remote
printer. The definitions of all remote printers are kept in
a Queue Definition File (which will be abbreviated as QDF
from now on). When starting the spooler for the first time,
you have to specifiy the location of this file. It may
either be located on a local drive, but it could also be on
a shared network drive where it is maintained by some
network printer administrator.
You define remote printers by filling in the information
described above into the queue setup dialog. WLPRSPL
automatically creates the needed port in WIN.INI so that
you later can install an appropriate printer driver for
this remote queue.
When you print to such a network driver from a windows
application, the printer data is written to the
corresponding spool file. WLPRSPL then puts the file into
its own queueing system and sends the data to the remote
printer.
First Start
When you start WLPRSPL for the first time you have to
specify the spool directory you want to use. In the dialog
that appears you can also create new subdirectories. Once
you have selected the spool directory, you have to define
the place where the QDF shall be located. It is possible to
use a shared QDF that resides on a network drive and which
is maintained centrally. The file that you specify does not
have to exist at this time. It will be created as soon as
you define the first queue in WLPRSPL.
After this first time configuration you may define local
queues for all remote printers you want to utilize. This is
described in the next section. Then you should install
appropriate Windows printer drivers for your network
printers and connect them to the corresponding port.
Adding/Changing Network Printer Definitions
In order to define network printers in WLPRSPL start the
program if not yet running, restore the program window if
the program is iconized, and select the menu option
Setup/Queues/Define new queue... or press Alt-Insert. A
dialog pops up where you can enter a new queue definition.
The fields in this dialog have the following meaning:
Local Spool File: Name of the spool file (without path)
that shall be used for the local queue.
Remote Queue Name: Name of the queue on the remote print
server.
Remote Host Name: Internet host name or address of the
remote print server.
DLL to be used: Specifies the Protocol DLL to be used
for this remote printer. It may be
either the name only (which lets
WLPRSPL search for it in the standard
search order) or a fully qualified path
name. WLPR2.DLL is the default for new
queues.
After filling in all fields you can review/change the
options that are in effect for this queue by pressing the
Queue properties... button. The options in the dialog
popping up depend on the specified Protocol DLL. For the
meaning of those options please refer to the DLL's
documentation.
When you press OK in the "Edit queue data" dialog, a new
port is created if needed. Now you can go to the Control
Panel/Printer Setup, install a printer driver that matches
the remote printer, and connect it to the corresponding
port. Take care that all printer characteristics you define
match the remote printer. Normally a datastream from a
Windows printer driver overrides settings of the remote
printer defaults. If you select settings that the remote
printer does not support it may hang.
If you want to change the definition of a remote printer,
select it in the main window listbox and click the menu
option Setup/Queues/Edit queue data... or press Alt-Enter.
You get the queue setup dialog box with the currently valid
values filled in, ready to be altered.
Changes to queues are not automatically saved. This has to
be done either through Setup/Queues/Save queue definitions,
or by accepting the automatic saving when WLPRSPL (or
Windows) is terminated.
After installing the printer driver you may print to the
remote queue from any Windows application.
Adjusting WLPRSPL Operating Parameters
Through the menu (Setup/Preferences...) you can get to a
dialog box where you can change the following operating
parameters of WLPRSPL.
Timer ticks in sec. This entry defines the time steps used
by WLPRSPL to periodically check for possible spool files.
It can be 0 which means that this feature is disabled. With
this feature enabled it is possible to create spool files
in DOS sessions and have them automatically entered into
the WLPRSPL queueing system (see Usage Notes).
Default is 0.
Spool timeout in sec. Time in seconds during which a print
job should be completed. If it takes longer the user is
notified and may cancel the transfer.
Default is 60.
Warn if suspended When this check box is activated
(default), you get a warning every time you print to a
remote network printer if the spooler is currently
suspended.
Default is on.
Unattended mode When this check box is activated, the
spooler is in "Unattended Mode". This means that the user
is not notified of spooling errors. Instead the faulty
queue is temporarily disabled, and is re-enabled after the
number of seconds specified.
Default is on.
Automatically re-enable queue after ... sec. If unattended
mode is on, this entry specifies after how long a failed
print file transfer is retried.
Default is 300 seconds.
Normally you can leave the default values as they are. If
you notice a performance degradation on slow PCs due to the
spool file polling set the Timer Ticks to a higher value,
or set it to 0 if this feature is not needed. If you often
print large documents or you only have a slow link to your
print server you may want to set the Spool timeout... to a
higher value.
WLPRSPL Running ...
When WLPRSPL is active you normally don't notice anything
of its existance because the spooling is done in the
background. The WLPRSPL main window always shows you what
is currently going on. You see the following information
being displayed:
the time the spooler was started
the mode in which Windows is running (Standard or
Enhanced)
the current state of the spooler (suspended or active)
the current run mode of the spooler ("unattended" or
"interactive")
the currently used spool directory
the currently used Queue Definition File
a listbox displaying the states of all local queues
(more detailed description below)
the Windows printer driver used for the currently
selected (and therefore highlighted) queue
The individual columns in the listbox have the following
meaning:
Symbol If blank the local queue is currently not connected
to a printer driver, if ">" it is connected, if "*" it is
connected and is currently selected as default printer.
Loc. Queue Name of the local queue (and of the spool
file).
Rem. Queue Name of the queue on remote print server.
Host Name of remote print server.
Spool tries
unsucc./succ. Number of print jobs sent over this queue
since WLPRSPL was started or since the queue statistics
were reset, and number of times the current spool file in a
queue failed to be sent.
Files queued Number of unsent print jobs.
Permanently disabled queues (that means "disabled by user")
are shown with red text. A temporarily disabled queue
(disabled because of spool error in unattended mode) is
shown with yellow text. A queue that is active sending a
print job is shown in green, and the statistics are
replaced with a progress message.
WLPRSPL Menu Options
Following is a list with all available menu options. On the
right hand side the keyboard short cut is shown.
Files
Delete next spool file (Delete)
Delete next spool file in selected local queue.
Delete all spool files in queue
Delete all spool files in selected local queue.
Delete all spool files
Delete all spool files in all local queues.
Cancel spooling (Ctrl-C)
A currently running transfer is cancelled.
Suspend/Resume spooler (Ctrl-S)
The spooler is suspended, or its operation is
resumed, depending on the current state of the
spooler. When the spooler is suspended, no print
jobs are transferred to remote printers.
Control Panel
Call the control panel.
Exit (Ctrl-X or Alt-F4)
Exit WLPRSPL.
Queues
Show remote queue status (Ctrl-Q)
Shows the state of the remote queue that
corresponds to the selected local queue by
executing an LPQ request. The dialog box showing
the remote queue status then allows refreshing the
display and cancelling one or more remote print
jobs.
Show jobs in local queue (Ctrl-L)
Opens a dialog box that shows all jobs which are
still in the currently selected local queue. In
this dialog box you have the possiblity of removing
jobs individually.
Enable/Disable queue (Doubleclick on queue in listbox)
The selected local queue is enabled/disabled.
Scan queues immediately(Click right mouse button on WLPR
SPL symbol)
The spool directory is scanned for new spool files
immediately.
Reset selected queue (Ctrl-R)
The statistics of the selected local queue are
reset.
Reset all queues
The statistics of all local queues are reset.
Setup
Preferences...
Activates the dialog described in "Adjusting
WLPRSPL Operating Parameters"
Spool-Directory...
Activates the dialog for selection of the spool
directory described in "First Start".
Queues >
Define new queue (Alt-Insert)
Activates the dialog for defining a new queue
described in "Adding/Changing Network Printer
Definitions".
Edit queue data (Alt-Enter)
Activates the dialog for editing queue data
described in "Adding/Changing Network Printer
Definitions". The dialog is filled with the
data of the currently selected local queue.
Delete queue (Alt-Delete)
Deletes the currently selected local queue.
Reload queue definitions
Reloads the queue definitions from the
currently active QDF.
Load queue definitions...
Activates the dialog for selecting a QDF
described in "First Start".
Save queue definitions
Saves changes made to a queue definition in the
currently active QDF.
Save queue definitions as...
Saves the current queue definitions to a QDF
which must first be selected. If wanted, this
new QDF can be made the currently active QDF,
which will then be used the next time WLPRSPL
starts.
Register Program...
Activates the program registration dialog. If you
have a pre-registered version of the program, this
menu option is grayed.
Usage Notes
When the spool directory is changed after the first
installation, new ports are automatically generated for
all local queues in the [ports] section of WIN.INI. The
user then has to manually connect all printer drivers
to those new ports. This is currently not done
automatically.
If you have a DOS application that can print to a file
in addition to printing to a real LPTx or COMx, you can
use WLPRSPL to spool those files. Just let the
application print to the file that defines the port for
the desired network printer (i.e. C:\SPOOL\HP.PCL).
Then there are two possibilities to initiate the
transfer: Either you have set the Timer Ticks to a non-
zero value. In this case you only have to wait for the
specified number of seconds, and WLPRSPL puts the file
into its queueing system. If you have disabled this
feature you can also switch back to WLPRSPL with Alt-
Tab and select Queues/Scan queues immediately from the
menu or click on the WLPRSPL icon with the right mouse
button.
The state of all queues (enabled/disabled, number and
names of spool files) is saved in the spool directory
as file filename.SPL, where filename corresponds to the
name of the QDF. When, for example, the name of the QDF
is WLPRSPL.QS, then the name of the queue state file is
WLPRSPL.SPL. This file should not be deleted because it
is needed to determine to which local queue any unsent
spool files belong.
When you print to a remote queue that automatically
detects PostScript files and you get the PostScript
text printed, this usually happens due to the fact that
the Windows PostScript driver prepends the PS
datastream with a Ctrl-D (0x04). This character
normally causes a locally attached PS printer to reset,
but it also makes it impossible for network queues to
recognize the print data as PS file. Included in this
package is a ZIP archive called CTRLD10B.ZIP which
contains a small Windows utility that allows you to
selectively enable or disable the Ctrl-D generation for
all installed PS printers.
Troubleshooting
If you have problems with the spooler that can't be
resolved through this document please take a look at the
documentation of the supporting DLLs. There are given some
troubleshooting tips which are specific to those DLLs. If
this fails, too, please feel free to contact me.
Licensing and Registration
This software is not free. It is shareware. You are granted
the right to test this software for a period of 30 days.
After this you have to register the product (see
registration form at the end of this document) and, if this
applies to you, pay the required registration fee. Again,
even if you do not have to pay the fee please register the
program in order to keep you informed of program updates
and to give me a feedback on how much the program is used.
The unregistered shareware version displays a message box
at the program start reminding you that the program has not
yet been registered. When you register the program, you get
a serial number and a corresponding key. Start the spooler,
select the Setup/Register Program... menu option, and type
your user information together with serial number and key
into the dialog box. Then press the OK button.
You may redistribute this program to other persons as long
as you keep the package complete with all the files that
are listed in the "Contents" section at the beginning of
this document.
If you cannot print the Word for Windows 2.0 version of
this documentation, find the plain ASCII version too ugly,
and are reachable via e-mail, I can send you this
documentation as a PostScript file.
Registration Fee
Members of educational/non-profit institutions belong to
Category I, all others belong to Category II. Please refer
to the following table for pricing according to the number
of licenses.
Licenses Cat. I Price per License Cat. II Price per
License
1-9 30 DM 60 DM
10 or more 25 DM 50 DM
20 or more 20 DM 40 DM
50 or more 15 DM 30 DM
100 or more 10 DM 20 DM
For Site/Company Licenses and upgrades please contact me.
One Final Word ...
Tell me everything you like or dislike about this program
in order to let me make it better. Tell me about functions
that you would like to see added. Tell me about problems
you have encountered.
You can reach me under the following E-mail addresses
(first in the list preferred):
th.heil@kfa-juelich.de
ich211@zam001.zam.kfa-juelich.de
ich211@djukfa11.bitnet
ich211@ich210.ich.kfa-juelich.de
or by ordinary mail as
Thomas Heil
Hindenburgstr. 50
41352 Korschenbroich
Germany
or by fax under +49 (0)2161 644337
Registration Form
(Please register WLPRSPL 4.0 when you decide to use it
beyond the trial period of 30 days.)
Name:
Institution:
Department:
Street:
City/Town and
ZIP/Post Code:
State:
Country:
Phone number:
FAX number:
E-Mail address:
Customer Numberfrom a previous registration
I would like to register _______ Windows LPR Spooler 4.0
licenses
for an educational/no-profit institution.Total price: DM
a commercial/for-profit institution. Total price: DM
Payment: Remittance to:Bank: Stadtsparkasse
Korschenbroich, Germany
Bank Routing Code: 310 512 40
Account: 473017
included Cheque (in German currency)
Date/Signature
Please mail this form (with a possible fee included) to
Thomas Heil
Hindenburgstr. 50
41352 Korschenbroich
Germany